Microcontrollers carry out many control functions in electrical systems, particularly in applications for automobiles. For the programs (software) executed on micro-controllers there are various requirements concerning safety and reliability, particularly in these automobile applications. Thus, for example, in access to certain hardware components, the control of certain safety-relevant operations, such as airbag control or braking system control, is assigned a higher priority than less important operations, and the control software itself must be specially protected against manipulation from external and internal intervention.
The control software is conventionally stored in memories, which are accessible in a reading or writing mode by, e.g., a processing unit (CPU). For the above-stated reasons, the access to specific storage regions must be protected and must be provided with preferred priorities. Access to storage regions which are to be protected may be regulated by specific identifiers which are associated with functional units which functional units are intended to access these storage regions.
Conventionally, for reading or writing access of a CPU, or a program running on the CPU, to a specific storage region of the memory, a DMA controller is used, in order to relieve the CPU from the simple task of data transfer.
The DMA controller uses logical DMA channels in order to transfer data, e.g. to a storage region. If a particular storage region is to be protected for the above-stated reasons, one needs to ensure that this protection is not bypassed by the use of DMA channels. Therefore, DMA channels need to be particularly protected in the case of safety-critical data.
U.S. 2007/0174507 A1 discloses a system with a processor, a memory, and a DMA controller, where the DMA channels support the use of so-called qualifiers, and, together with a firewall, reduce the protection from attacks on the DMA channels.
The firewall allows or blocks the association of a qualifier with a DMA channel and thereby the association of data with a corresponding DMA channel. The association is carried out via corresponding configuration registers.